1. Field of the Invention
The invention relates generally to the visual display of information and more particularly to using graphs consisting of nodes and edges to display information.
2. Description of Related Art
Graphs: FIG. 1
One of the most useful ways of visually representing information is the graph. Mathematically, a graph is a set of nodes that may or may not be connected by arcs. The nodes represent entities and the arcs represent relationships between the entities. FIG. 1 shows an example graph 101 which represents a hierarchy consisting of the generic term textures and five specific textures. The hierarchy is represented by means of nodes 103 and arcs 107 connecting the nodes. Each node represents a term and the arcs indicate that nodes 103(2 . . . 7) represent species of the generic term represented by node 103(1). In the following discussion, the arcs will be termed links. Each node 103 has a label 105. The kind of relationship between the nodes shown in FIG. 101 is termed a tree 109, with node 103(1) being the root of the tree and nodes 103(2 . . . 7) being the leaves of the tree. Node 103(1) is further termed the parent of nodes 103(2 . . . 7) and those nodes are termed the children of node 103(1) and the siblings of each other. Of course, a node may have more than one level of descendants; if node 107(2), for example, has children, those children are grandchildren of node 103(1).
Visualization Systems: FIG. 2
If visual representations of information are to be useful for large bodies of information, there needs to be a way of automatically getting from the large body of information to the visual representation. Systems that do this task are termed visualization systems. Two currently available visualization systems are ILOG JViews, made by ILOG, Inc., Mountain View, Calif., and Inxight VizServer, made by Inxight Software, Inc., 500 Macara Avenue, Sunnyvale, Calif. 94085. FIG. 2 is a block diagram of ILOG JViews which is taken from ILOG, Inc's promotional materials. The block diagram is typical for any such visualization system. Visualization system 201 includes a source 205 for the data to be shown in the visualization, a visualization application program 203 that describes how the data is to be shown in the visualization, a project file 204 that contains an executable form of application program 203, and visualization maker 207 which produces the visualization described in application program 203 on one or more displays 213 using the data in data source 205.
Within visualization maker 207, data model 209 describes how the data from data source 205 is to be mapped onto the components of the visualization. For example if the visualization employs a graph, data model 209 will describe what information from the data source is to be represented in the nodes and how information from the data source is to be used to determine how the links connect the nodes. Styling engine 211 uses the description of the visualization in project file 203 to produce the visualization in display 213 using the information from data source 205 and the mappings in data model 209. For example, styling engine 211 would take the node and link content specified by information from data source 205 as mapped onto the nodes and links by data model 209 and determine how the nodes and links look, how the content is represented in the nodes and links, and how the graph is arranged in display 213. Of course, styling engine 211 is implemented by a processor executing a program, while data model 209 is data stored in memory accessible to the processor.
The nodes produced by the visualization systems have two important limitations:                only a relatively small amount of information can be associated directly with the node; and        there is little choice as to where the information will be displayed relative to the node.        
Typically, all that is permitted is a label like that shown at 105 in FIG. 1. What is needed is an easy-to-use technique that permits a user of a visualization system to associate more information with the node and gives the user more control over where the information is located and how it looks. Also needed as it becomes possible to associate more information with a node are techniques for reducing the effort involved in associating the information with the node. It is an object of the invention to provide such techniques.